package com.lanhe.order.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 号卡订单表(LhOrdersHaoka)表实体类
 *
 * @author zhanggl
 * @since 2023-12-25 20:19:30
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName("lh_orders_haoka")
public class LhOrdersHaoka {

	/**
	 * ID
	 */
	@TableId(type = IdType.AUTO)
	private Long orderId;

	/**
	 * 号卡提单后返回的ID
	 */
	private Long orderHaokaId;


	/**
	 * 用户ID
	 */
	private Long memberId;

	/**
	 * 订单编号
	 */
	private String orderNumber;

	/**
	 * 产品ID
	 */
	private Long productId;

	/**
	 * 产品标题
	 */
	private String productName;

	/**
	 * 产品图片
	 */
	private String productLog;

	/**
	 * 身份证姓名 aes加密
	 */
	private String idName;

	/**
	 * 身份证号 aes加密
	 */
	private String idNum;

	/**
	 * 收货手机号 aes加密
	 */
	private String mobile;

	/**
	 * 收货人姓名 aes加密
	 */
	private String name;

	/**
	 * 收货地址-省编码
	 */
	private String provinceCode;

	/**
	 * 收货地址-省
	 */
	private String province;

	/**
	 * 收货地址-市编码
	 */
	private String cityCode;

	/**
	 * 收货地址-省
	 */
	private String city;

	/**
	 * 收货地址-市编码
	 */
	private String districtCode;

	/**
	 * 收货地址-区/县
	 */
	private String district;

	/**
	 * 详细地址 aes加密
	 */
	private String address;

	/**
	 * 购买号码
	 */
	private String prettyNumber;

	/**
	 * 生产号码
	 */
	private String planMobileProduced;

	/**
	 * 身份证人像面
	 */
	private String picFace;

	/**
	 * 身份证国徽面
	 */
	private String picBack;

	/**
	 * 身份证本人照
	 */
	private String picHand;

	/**
	 * 照片秘钥 （上传订单传照片，可以用这个值作为id补传照片 ）
	 */
	private String strRand;

	/**
	 * 订单收益
	 */
	private BigDecimal profit;

	/**
	 * 激活 |1 已激活
	 */
	private String isActivated;

	/**
	 * 激活时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date activatedAt;

	/**
	 * 首充 |1 已首充
	 */
	private String isRecharged;

	/**
	 * 首充时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date rechargedAt;

	/**
	 * 物流单号
	 */
	private String trackingNumber;

	/**
	 * 物流公司名称
	 */
	private String trackingCompany;

	/**
	 * 订单状态0:已发货,1:已激活,2:开卡失败,3:身份证审核失败,4:订单终止
	 */
	private String status;

	/**
	 * 订单状态0:已发货,1:已激活,2:开卡失败,3:身份证审核失败,4:订单终止
	 */
	@TableField(exist = false)
	private String statusName;

	/**
	 * 订单状态1:待审核,2:审核通过,3:审核失败
	 */
	private Integer auditStatus;

	/**
	 * 订单状态1:待审核,2:审核通过,3:审核失败
	 */
	@TableField(exist = false)
	private String auditStatusName;

	/**
	 * 备注
	 */
	private String reason;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	/**
	 * 更新时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date updateTime;

	@TableField(exist = false)
	private Date beginTime;

	@TableField(exist = false)
	private Date endTime;

}

